package com.smartwebx.ha.biz.rainwater.real;

import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.smartwebx.ha.dal.assign.bean.HaArea;
import com.smartwebx.ha.dal.usebean.DateValue;
import com.smartwebx.ha.dal.usebean.DateValueTotal;
import com.smartwebx.ha.dal.usebean.GisRainLayerRainfall;
import com.smartwebx.ha.dal.usebean.StationValue;

/**
 * GIS 雨情
 * @author zhangxi
 *
 */
public interface RainfallManager {
	
	
	/**
	 * 获得GIS雨量与面雨量信息
	 * @param bTm
	 * @param eTm
	 * @param areaId
	 * @return
	 */
	public GisRainLayerRainfall getGisRainLayerRainfall(Date bTm, Date eTm,String type, HaArea area) throws IOException;
	
	
	/**
	 * 获得所有站点日雨量值
	 * 
	 * @param startDate
	 * @param endDate
	 * @return
	public List<GisRain> getAllStatRainVal(Date startDate, Date endDate);
	*/
	
	/**
	 * 获得开始结束雨量值
	 * 
	 * @param startDate
	 * @param endDate
	 * @return
	public Map<String, Double> getStartEndRainfall(Date startDate, Date endDate);
	 */
	
	/**
	 * 获得单站日过程数据
	 * 
	 * @param stcd
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	public List<DateValue> getSingleStatDayProcess(String stcd, Date startDate,
			Date endDate);

	/**
	 * 单站小时过程数据
	 * 
	 * @param stcd
	 * @param startHour
	 * @param endHour
	 * @return
	 */
	public List<DateValue> getSingleStatHourProcess(String stcd,
			Date startHour, Date endHour);

	/**
	 * 单站时间段小时累计降雨过程
	 * 
	 * @param stcd
	 * @param bTm   
	 * @param eTm
	 * @return
	 */
	public List<DateValueTotal> getSingleHourTotalRainProcess(
			String stcd, Date bTm, Date eTm);
	
	/**
	 * 单站日累计降雨过程
	 * 
	 * @param stcd
	 * @param bTm
	 * @param eTm
	 * @return
	 */
	public List<DateValueTotal> getSingleDayTotalRainProcess(
			String stcd, Date bTm, Date eTm);
}